写给初学者的博途教程:S7 |
您所在的位置:网站首页 › modbus tcp服务端 客户端区别 › 写给初学者的博途教程:S7 |
MODBUS/TCP是简单的、中立厂商的用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品。 显而易见,它覆盖了使用TCP/IP协议的“Intranet”和“Internet”环境中MODBUS报文的用途。 下面我们主要来演示MODBUS-TCP通信组态。
准备工作: 1. 软件版本: STEP 7 V13 SP1及其以上 2. 固件版本: S7-1200 CPU 的固件版本V4.1及其以上 (其实现在下载的博图版本,有V15.1,V16,而且V17也发布了,软件方面放心使用;硬件方面,如果使用V15.1,固件版本是V4.0-V4.2,也不用担心,使用V16,固件最高可到V4.4) 图1-1 Modbus TCP V5.0 版本指令块MODBUS-TCP操作对象: 以两台S7-1200之间进行 Modbus TCP 通信为例,详细阐述客户端与服务器侧如何编程及通信的过程。 图1-2 选中接口右击打开属性,系统常数中硬件标识符MODBUS-TCP客户端编程 S7-1200 客户端侧需要调用MB_CLIENT指令块,该指令块主要完成客户机和服务器的TCP连接、发送命令消息、接收响应以及控制服务器断开的工作任务。 将MB_CLIENT指令在程序块-OB1中的程序段里调用,调用时会自动生成背景DB。(图1-3) 图1-3该功能块各个引脚定义: CONNECT引脚的指针类型: 第一步,先创建一个新的全局数据块DB2: 图1-4第二步,双击打开新生成的DB块,定义变量名称为“aa",数据类型为“TCON_IP_v4”(可以将 TCON_IP_v4 拷贝到该对话框中),然后点击“回车”按键。(图1-5) 图1-5创建 MB_CLIENT 中的TCP连接结构的数据类型 各个引脚定义说明如下: 表为图1-5 TCON_IP_v4 数据结构的引脚定义;
本文远程服务器的IP地址为192.168.0.3,远程端口号设为502。所以客户端侧该数据结构的各项值为: 图1-6注意: CONNECT引脚的填写需要用符号寻址的方式。
创建 MB_DATA_PTR 数据缓冲区: 第一步,创建一个全局数据块 DB3,创建方法可以参考上面的图3,数据块的名称如图1-7所示: 图1-7第二步,建议一个数组的数据类型,以便通信中存放数据,请参考图1-8所示: 图1-8注意: MB_DATA_PTR指定的数据缓冲区可以为DB块或M存储区地址中。 DB块可以为优化的数据块,也可以为标准的数据块结构。 若为优化的数据块结构,编程时需要以符号寻址的方式填写该引脚;若为标准的数据块结构。 (可以右键单击DB块,“属性”中将“优化的块访问”前面的勾去掉,如下图1-9所示),需要以绝对地址的方式填写该引脚。本文以标准的数据块(默认)为例进行编程。 图1-9客户端侧完成指令块编程: 调用 MB_CLIENT 指令块,实现从 Modbus TCP 通信服务器中读取2个保持寄存器的值,如图1-10所示: 图1-10将整个项目下载到S7-1200 待Modbus TCP 服务器侧准备就绪,给MB_CLIENT指令块的REQ引脚一个上升沿,将读取到的数据放入 MB_DATA_PTR引脚指定的DB 块中。具体的实验结果可以查看S7-1200 服务器侧编程。
今天《写给初学者的博途教程:S7-1200作MODBUS TCP客户端》小智就分享到这,大家可以收藏使用,如果遇到问题或者不能理解的地方可以私聊或评论留言,如果喜欢关注小智,点赞转发谢谢! 下篇预告……(S7-1200作MODBUS TCP服务器)
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |